home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 2002 November / SGI Freeware 2002 November - Disc 2.iso / dist / fw_glimpse.idb / usr / freeware / catman / u_man / cat1 / glimpseindex.Z / glimpseindex
Text File  |  1997-09-09  |  33KB  |  661 lines

  1.  
  2.  
  3.  
  4.      GGGGLLLLIIIIMMMMPPPPSSSSEEEEIIIINNNNDDDDEEEEXXXX((((llll)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((OOOOccccttttoooobbbbeeeerrrr 11111111,,,,    1111999999995555))))  GGGGLLLLIIIIMMMMPPPPSSSSEEEEIIIINNNNDDDDEEEEXXXX((((llll))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.       _g_l_i_m_p_s_e_i_n_d_e_x _3._0 - index whole file systems to be searched
  10.       by glimpse
  11.  
  12.      OOOOVVVVEEEERRRRVVVVIIIIEEEEWWWW
  13.       _G_l_i_m_p_s_e (which stands    for GLobal IMPlicit SEarch) is an
  14.       indexing and query system that allows    you to search through
  15.       all your files very quickly.    Glimpseindex is    the indexing
  16.       program for glimpse.    Glimpse    supports most of _a_g_r_e_p's
  17.       options (_a_g_r_e_p is our    powerful version of _g_r_e_p) including
  18.       approximate matching (e.g., finding misspelled words),
  19.       Boolean queries, and even some limited forms of regular
  20.       expressions. It is used in the same way, except that you
  21.       don't    have to    specify    file names.  So, if you    are looking
  22.       for a    _n_e_e_d_l_e anywhere    in your    file system, all you have to
  23.       do is    say _g_l_i_m_p_s_e _n_e_e_d_l_e and all lines containing _n_e_e_d_l_e
  24.       will appear preceded by the file name.  See man glimpse for
  25.       details on how to use    glimpse.
  26.  
  27.       Glimpseindex provides    three indexing options:    a tiny index
  28.       (2-3%    of the total size of all files), a small index (7-8%)
  29.       and a    medium-size index (20-30%).  Search times are normally
  30.       better with larger indexes.  To index    all your files,    you
  31.       say _g_l_i_m_p_s_e_i_n_d_e_x ~ for tiny index (where ~ stands for    the
  32.       home directory), _g_l_i_m_p_s_e_i_n_d_e_x    -_o ~ for small index, and
  33.       _g_l_i_m_p_s_e_i_n_d_e_x -_b ~ for    medium.
  34.  
  35.       Mail glimpse-request@cs.arizona.edu to be added to the
  36.       glimpse mailing list.     Mail glimpse@cs.arizona.edu to    report
  37.       bugs,    ask questions, discuss tricks for using    glimpse, etc.
  38.       (this    is a moderated mailing list with very little traffic,
  39.       mostly announcements).  HTML version of these    manual pages
  40.       can be found in
  41.       http://glimpse.cs.arizona.edu:1994/glimpseindexhelp.html
  42.       Also,    see the    glimpse    developers home    page in
  43.       http://glimpse.cs.arizona.edu:1994/
  44.  
  45.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  46.       gggglllliiiimmmmppppsssseeeeiiiinnnnddddeeeexxxx [ ----aaaabbbbEEEEffffFFFFiiiiIIIInnnnoooossss ----wwww    _n_u_m_b_e_r ----ddddDDDD _f_i_l_e_n_a_m_e(_s) -_H
  47.       _d_i_r_e_c_t_o_r_y -_M _n_u_m_b_e_r -_S _n_u_m_b_e_r    ] _d_i_r_e_c_t_o_r_y__n_a_m_e[_s]
  48.  
  49.      IIIINNNNTTTTRRRROOOODDDDUUUUCCCCTTTTIIIIOOOONNNN
  50.       _G_l_i_m_p_s_e_i_n_d_e_x builds an index of all text files in all    the
  51.       directories specified    and all    their subdirectories
  52.       (recursively).  It is    also possible to build several
  53.       separate indexes (possibly even overlapping).     The simplest
  54.       way to index your files is to    say
  55.  
  56.       _g_l_i_m_p_s_e_i_n_d_e_x ~
  57.  
  58.       The index consists of    several    files (described in detail
  59.       below), all with the prefix ._g_l_i_m_p_s_e_    stored in the user's
  60.  
  61.  
  62.  
  63.      Page 1                         (printed 11/3/95)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      GGGGLLLLIIIIMMMMPPPPSSSSEEEEIIIINNNNDDDDEEEEXXXX((((llll)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((OOOOccccttttoooobbbbeeeerrrr 11111111,,,,    1111999999995555))))  GGGGLLLLIIIIMMMMPPPPSSSSEEEEIIIINNNNDDDDEEEEXXXX((((llll))))
  71.  
  72.  
  73.  
  74.       home directory (unless otherwise specified with the -H
  75.       option).  Files with one of the following suffixes are not
  76.       indexed: ".o", ".gz",    ".Z", ".z", ".hqx", ".zip", ".tar".
  77.       (Unless the -z option    is used, see below.)  In addition,
  78.       glimpseindex attempts    to determine whether a file is a text
  79.       file and does    not index files    that it    thinks are not text
  80.       files.  Numbers are not indexed unless the -n    option is
  81.       used.     It is possible    to prevent specified files from    being
  82.       indexed by adding their names    to the .glimpse_exclude    file
  83.       (described below).  The -o option builds a larger index
  84.       (typically by    a factor of 2-3), allowing for a faster    search
  85.       (1-5 times faster).  The -b builds an    even larger index and
  86.       allows an even faster    search.     There is an incremental
  87.       indexing option -_f, which updates an existing    index by
  88.       determining which files have been created or modified    since
  89.       the index was    built and adding them to the index (see    -f).
  90.       Glimpseindex is reasonably fast, taking about    20 minutes to
  91.       index    100MB from scratch (on a SUN Sparc 5) and 2-4 minutes
  92.       to update an existing    index. (Your mileage may vary.)     It is
  93.       also possible    to increment the index by adding a specific
  94.       file (the -a option).
  95.  
  96.       Once an index    is built, searching for    _p_a_t_t_e_r_n    is as easy as
  97.       saying
  98.  
  99.       _g_l_i_m_p_s_e _p_a_t_t_e_r_n
  100.  
  101.       (See man glimpse for all glimpse's options and features.)
  102.  
  103.      AAAA DDDDEEEETTTTAAAAIIIILLLLEEEEDDDD    DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN OOOOFFFF GGGGLLLLIIIIMMMMPPPPSSSSEEEEIIIINNNNDDDDEEEEXXXX
  104.       Glimpse does not automatically index files.  You have    to
  105.       tell it to do    it.  This can be done manually,    but a better
  106.       way is to set    it to run every    night.    It is probably a good
  107.       idea to run glimpseindex manually for    the first time to be
  108.       sure it works    properly.  The following is a simple script to
  109.       run glimpseindex every night.     We assume that    this script is
  110.       stored in a file called glimpse.script:
  111.  
  112.       glimpseindex -w 1000 ~ >& .glimpse_out
  113.       at -m    0300 glimpse.script
  114.       (It might be interesting to collect all the outputs of
  115.       glimpse by changing >& to >>&    so that    the file .glimpse_out
  116.       maintains a history.    In this    case the file must be created
  117.       before the first time    >>& is used.  If you use ksh, replace
  118.       '>&' with '2>&1'.)
  119.  
  120.       Glimpseindex stores the names    of all the files that it
  121.       indexed in the file .glimpse_filenames.  Each    file is    listed
  122.       by its full path name    as obtained at the time    the files were
  123.       indexed.  For    example, /usr1/udi/file1.  Glimpse uses    this
  124.       full name when it performs the search, so the    name must
  125.       match    the current name.  This    may become a problem when the
  126.  
  127.  
  128.  
  129.      Page 2                         (printed 11/3/95)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      GGGGLLLLIIIIMMMMPPPPSSSSEEEEIIIINNNNDDDDEEEEXXXX((((llll)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((OOOOccccttttoooobbbbeeeerrrr 11111111,,,,    1111999999995555))))  GGGGLLLLIIIIMMMMPPPPSSSSEEEEIIIINNNNDDDDEEEEXXXX((((llll))))
  137.  
  138.  
  139.  
  140.       indexing and the search are done from    different machines
  141.       (e.g., through NFS), which may cause the path    names to be
  142.       different.  For example, /tmp_mnt/R/xxx/xxx/usr1/udi/file1.
  143.       (The same is true for    several    other .glimpse files.  See
  144.       below.)
  145.  
  146.       Glimpseindex does not    follow symbolic    links unless they are
  147.       explicitly included in the .glimpse_include file (described
  148.       below).
  149.  
  150.       Glimpseindex makes an    effort to identify non-text files such
  151.       as binary files, compressed files, uuencoded files,
  152.       postscript files, binhex files, etc.    These files are
  153.       automatically    not indexed.  In addition, all files whose
  154.       names    end with `.o', `.gz', `.Z', `.z', `.hqx', `.zip', or
  155.       `.tar' will not be indexed (unless they are specifically
  156.       included in .glimpse_include - see below).
  157.  
  158.       The options for glimpseindex are as follows:
  159.  
  160.       ----aaaa   adds the    given file[s] and/or directories to an
  161.            existing    index.    Any given directory will be traversed
  162.            recursively and all files will be indexed (unless they
  163.            appear in .glimpse_exclude; see below).    Using this
  164.            option is generally much    faster than indexing
  165.            everything from scratch,    although in rare cases the
  166.            index may not be    as good. If for    some reason the    index
  167.            is full (which can happen unless    -o or -b are used)
  168.            glimpseindex -a will produce an error message and will
  169.            exit without changing the original index.
  170.  
  171.       ----bbbb   builds a    medium-size index (20-30% of the size of all
  172.            files), allowing    faster search.    This option forces
  173.            glimpseindex to store an    exact (byte level) pointer to
  174.            each occurrence of each word (except for    some very
  175.            common words belonging to the stop list).
  176.  
  177.       ----BBBB   uses a hash table that is 4 times bigger    (256k entries
  178.            instead of 64K) to speed    up indexing. The memory    usage
  179.            will increase typically by about    2 MB.  This option is
  180.            only for    indexing speed;    it does    not affect the final
  181.            index.
  182.  
  183.       ----dddd ffffiiiilllleeeennnnaaaammmmeeee((((ssss))))
  184.            deletes the given file(s) from the index.
  185.  
  186.       ----DDDD ffffiiiilllleeeennnnaaaammmmeeee((((ssss))))
  187.            deletes the given file(s) from the list of file names,
  188.            but not from the    index.    This is    much faster than -d,
  189.            and the file(s) will not    be found by glimpse.  However,
  190.            the index itself    will not become    smaller.
  191.  
  192.  
  193.  
  194.  
  195.      Page 3                         (printed 11/3/95)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      GGGGLLLLIIIIMMMMPPPPSSSSEEEEIIIINNNNDDDDEEEEXXXX((((llll)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((OOOOccccttttoooobbbbeeeerrrr 11111111,,,,    1111999999995555))))  GGGGLLLLIIIIMMMMPPPPSSSSEEEEIIIINNNNDDDDEEEEXXXX((((llll))))
  203.  
  204.  
  205.  
  206.       ----EEEE   does not    run a check on file types.  Glimpse normally
  207.            attempts    to exclude non-text files, but this attempt is
  208.            not always perfect.  With -E, glimpseindex indexes all
  209.            files, except those that    are specifically excluded in
  210.            .glimpse_exclude    and those whose    file names end with
  211.            one of the excluded suffixes.
  212.  
  213.       ----ffff   incremental indexing.  _g_l_i_m_p_s_e_i_n_d_e_x scans all files and
  214.            adds to the index only those files that were created or
  215.            modified    after the current index    was built.  If there
  216.            is no current index or if this procedure    fails,
  217.            _g_l_i_m_p_s_e_i_n_d_e_x automatically reverts to the default mode
  218.            (which is to index everything from scratch).  This
  219.            option may create an inefficient    index for several
  220.            reasons,    one of which is    that deleted files are not
  221.            really deleted from the index.  Unless changes are
  222.            small, mostly additions,    and -o is used,    we suggest to
  223.            use the default mode as much as possible.
  224.  
  225.       ----FFFF   Glimpseindex receives the list of files to index    from
  226.            standard    input.
  227.  
  228.       ----HHHH ddddiiiirrrreeeeccccttttoooorrrryyyy
  229.            Put or update the index and all other .glimpse files
  230.            (listed below) in "directory".  The default is the home
  231.            directory.  When    glimpse    is run,    the -H option must be
  232.            used to direct glimpse to this directory, because
  233.            glimpse assumes that the    index is in the    home directory
  234.            (see also the -H    option in glimpse).
  235.  
  236.       ----iiii   Make .glimpse_include (SEE GLIMPSEINDEX FILES) take
  237.            precedence over .glimpse_exclude, so that, for example,
  238.            one can exclude everything (by putting *) and then
  239.            explicitly include files.
  240.  
  241.       ----IIII   Instead of indexing, only show (print to    standard out)
  242.            the list    of files that would be indexed.     It is useful
  243.            for filtering purposes.    ("glimpseindex -I dir |
  244.            glimpseindex -F"    is the same as "glimpseindex dir".)
  245.  
  246.       ----MMMM xxxx Tells glimpseindex to use x MB of memory    for temporary
  247.            tables.    The more memory    you allow the faster
  248.            glimpseindex will run.  The default is x=2.  The    value
  249.            of x must be a positive integer.     Glimpseindex will
  250.            need more memory    than x for other things, and
  251.            glimpseindex may    perform    some 'forks', so you'll    have
  252.            to experiment if    you want to use    this option.  WARNING:
  253.            If x is too large you may run out of swap space.
  254.  
  255.       ----nnnn   Index numbers as    well as    text.  The default is not to
  256.            index numbers.  This is useful when searching for dates
  257.            or other    identifying numbers, but it may    make the index
  258.  
  259.  
  260.  
  261.      Page 4                         (printed 11/3/95)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      GGGGLLLLIIIIMMMMPPPPSSSSEEEEIIIINNNNDDDDEEEEXXXX((((llll)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((OOOOccccttttoooobbbbeeeerrrr 11111111,,,,    1111999999995555))))  GGGGLLLLIIIIMMMMPPPPSSSSEEEEIIIINNNNDDDDEEEEXXXX((((llll))))
  269.  
  270.  
  271.  
  272.            very large if there are lots of numbers.     In general,
  273.            glimpseindex strips away    any non-alphabetic character.
  274.            For example, the    string abc123 will be indexed as abc
  275.            if the -n option    is not used and    as abc123 if it    is
  276.            used.  Glimpse provides warnings    (in .glimpse_messages)
  277.            for all files in    which more than    half the words that
  278.            were added to the index from that file had digits in
  279.            them (this is an    attempt    to identify data files that
  280.            should probably not be indexed).     One can use the
  281.            .glimpse_exclude    file to    exclude    data files or any
  282.            other files.  (See GLIMPSEINDEX FILES.)
  283.  
  284.       ----oooo   Build a small index rather than tiny (meaning 7-9% of
  285.            the sizes of all    files -    your mileage may vary)
  286.            allowing    faster search.    This option forces
  287.            glimpseindex to allocate    one block per file (a block
  288.            usually contains    many files).  A    detailed explanation
  289.            of how blocks affect glimpse can    be found in the
  290.            glimpse article.     (See also LIMITATIONS.)
  291.  
  292.       ----ssss   supports    structured queries.  This option was added to
  293.            support the Harvest project and it is applicable    mostly
  294.            in that context.     See STRUCTURED    QUERIES    below for more
  295.            information and also http://harvest.cs.colorado.edu for
  296.            more information    about the Harvest project.
  297.  
  298.       ----SSSS kkkk The number k determines the size    of the _s_t_o_p-_l_i_s_t.  The
  299.            stop-list consists of words that    are too    common and are
  300.            not indexed (e.g., 'the'    or 'and').  Instead of having
  301.            a fixed stop-list, glimpseindex figures out the words
  302.            that are    too common for every index separately.    The
  303.            rules are different for the different indexing options.
  304.            The tiny    index contains all words (the savings from a
  305.            stop-list are too small to bother).  The    small index
  306.            (-o), the number    k is a percentage threshold.  A    word
  307.            will be in the stop list    if it appears in at least k%
  308.            of all files.  The default value    is 80%.     (If there are
  309.            less than 256 files, then the stop-list is not
  310.            maintained.)  The medium    index (-b) counts all
  311.            occurrences of all words, and a word is added to    the
  312.            stop-list if it appears at least    k times    per MByte.
  313.            The default value is 500.  A query that includes    a stop
  314.            list word is of course less efficient.  (See also
  315.            LIMITATIONS below.)
  316.  
  317.       ----wwww kkkk Glimpseindex does a reasonable, but not a perfect, job
  318.            of determining which files should not be    indexed.
  319.            Sometimes a large text file should not be indexed; for
  320.            example,    a dictionary may match most queries.  The -w
  321.            option stores in    a file called .glimpse_messages    (in
  322.            the same    directory as the index)    the list of all    files
  323.            that contribute at least    _k new words to the index.  The
  324.  
  325.  
  326.  
  327.      Page 5                         (printed 11/3/95)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      GGGGLLLLIIIIMMMMPPPPSSSSEEEEIIIINNNNDDDDEEEEXXXX((((llll)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((OOOOccccttttoooobbbbeeeerrrr 11111111,,,,    1111999999995555))))  GGGGLLLLIIIIMMMMPPPPSSSSEEEEIIIINNNNDDDDEEEEXXXX((((llll))))
  335.  
  336.  
  337.  
  338.            user can    look at    this list of files and decide which
  339.            should or should    not be indexed.     The file
  340.            .glimpse_exclude    contains files that will not be
  341.            indexed (see more below).  We recommend to set _k    to
  342.            about 1000.  This is not    an exact measure.  For
  343.            example,    if the same file appears twice,    then the
  344.            second copy will    not contribute any new words to    the
  345.            dictionary (but if you exclude the first    copy and index
  346.            again, the second copy will contribute).
  347.  
  348.       ----zzzz   Allow customizable filtering, using the file
  349.            .glimpse_filters    to perform the programs    listed there
  350.            for each    match.    The best example is
  351.            compress/decompress.  If    .glimpse_filters include the
  352.            line
  353.            *.Z   uncompress    <
  354.            (separated by tabs) then    before indexing    any file that
  355.            matches the pattern "*.Z" (same syntax as the one for
  356.            .glimpse_exclude) the command listed is executed    first
  357.            (assuming input is from stdin, which is why uncompress
  358.            needs <)    and its    output (assuming it goes to stdout) is
  359.            indexed.     The file itself is not    changed    (i.e., it
  360.            stays compressed).  Then    if glimpse -z is used, the
  361.            same program is used on these files on the fly.    Any
  362.            program can be used (we run 'exec').  For example, one
  363.            can filter out parts of files that should not be
  364.            indexed.     Glimpseindex tries to apply all filters in
  365.            .glimpse_filters    in the order they are given.  For
  366.            example,    if you want to uncompress a file and then
  367.            extract some part of it,    put the    compression command
  368.            (the example above) first and then another line that
  369.            specifies the extraction.  Note that this can slow down
  370.            the search because the filters need to be run before
  371.            files are searched.
  372.  
  373.      GGGGLLLLIIIIMMMMPPPPSSSSEEEEIIIINNNNDDDDEEEEXXXX FFFFIIIILLLLEEEESSSS
  374.       All files used by glimpse are    located    at the directory(ies)
  375.       where    the index(es) is (are) stored and have .glimpse_ as a
  376.       prefix.  The first two files (.glimpse_exclude and
  377.       .glimpse_include) are    optionally supplied by the user.  The
  378.       other    files are built    and read by glimpse.
  379.  
  380.       ....gggglllliiiimmmmppppsssseeee____eeeexxxxcccclllluuuuddddeeee
  381.            contains    a list of files    that glimpseindex is
  382.            explicitly told to ignore. In general, the syntax of
  383.            .glimpse_exclude/include    is the same as that of agrep
  384.            (or any other grep).  The lines in the .glimpse_exclude
  385.            file are    matched    to the file names, and if they match,
  386.            the files are excluded.    Notice that agrep matches to
  387.            parts of    the string!  e.g., agrep /ftp/pub will match
  388.            /home/ftp/pub and /ftp/pub/whatever.  So, if you    want
  389.            to exclude /ftp/pub/core, you just list it, as is, in
  390.  
  391.  
  392.  
  393.      Page 6                         (printed 11/3/95)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      GGGGLLLLIIIIMMMMPPPPSSSSEEEEIIIINNNNDDDDEEEEXXXX((((llll)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((OOOOccccttttoooobbbbeeeerrrr 11111111,,,,    1111999999995555))))  GGGGLLLLIIIIMMMMPPPPSSSSEEEEIIIINNNNDDDDEEEEXXXX((((llll))))
  401.  
  402.  
  403.  
  404.            the .glimpse_exclude file.  If you put
  405.            "/home/ftp/pub/cdrom" in    .glimpse_exclude, every    file
  406.            name that matches that string will be excluded, meaning
  407.            all files below it.  You    can use    ^ to indicate the
  408.            beginning of a file name, and $ to indicate the end of
  409.            one, and    you can    use * and ? in the usual way.  For
  410.            example /ftp/*html will exclude /ftp/pub/foo.html, but
  411.            will also exclude /home/ftp/pub/html/whatever;  if you
  412.            want to exclude files that start    with /ftp and end with
  413.            html use    ^/ftp*html$ Notice that    putting    a * at the
  414.            beginning or at the end is redundant (in    fact, in this
  415.            case glimpseindex will remove the * when    it does    the
  416.            indexing).  No other meta characters are    allowed    in
  417.            .glimpse_exclude    (e.g., don't use .* or # or |).     Lines
  418.            with * or ? must    have no    more than 30 characters.
  419.            Notice that, although the index itself will not be
  420.            indexed,    the list of file names (.glimpse_filenames)
  421.            will be indexed unless it is explicitly listed in
  422.            .glimpse_exclude.
  423.  
  424.       ....gggglllliiiimmmmppppsssseeee____ffffiiiilllltttteeeerrrrssss
  425.            See the description above for the -z option.
  426.  
  427.       ....gggglllliiiimmmmppppsssseeee____iiiinnnncccclllluuuuddddeeee
  428.            contains    a list of files    that glimpseindex is
  429.            explicitly told to _i_n_c_l_u_d_e in the index even though
  430.            they may    look like non-text files.  Symbolic links are
  431.            followed    by glimpseindex    only if    they are specifically
  432.            included    here.  The syntax is the same as the one for
  433.            .glimpse_exclude    (see there).  If a file    is in both
  434.            .glimpse_exclude    and .glimpse_include it    will be
  435.            excluded    unless -i is used.
  436.  
  437.       ....gggglllliiiimmmmppppsssseeee____ffffiiiilllleeeennnnaaaammmmeeeessss
  438.            contains    the list of all    indexed    file names, one    per
  439.            line.  This is an ASCII file that can also be used with
  440.            agrep to    search for a file name leading to a fast find
  441.            command.     For example,
  442.            glimpse 'count#\.c$' ~/.glimpse_filenames
  443.            will output the names of    all (indexed) .c files that
  444.            have 'count' in their name (including anywhere on the
  445.            path from the index).  Setting the following alias in
  446.            the .login file may be useful:
  447.            alias findfile 'glimpse -h :1 ~/.glimpse_filenames'
  448.  
  449.       .gggglllliiiimmmmppppsssseeee____iiiinnnnddddeeeexxxx
  450.            contains    the index.  The    index consists of lines, each
  451.            starting    with a word followed by    a list of block
  452.            numbers (unless the -o or -b options are    used, in which
  453.            case each word is followed by an    offset into the    file
  454.            .glimpse_partitions where all pointers are kept).  The
  455.            block/file numbers are stored in    binary form, so    this
  456.  
  457.  
  458.  
  459.      Page 7                         (printed 11/3/95)
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.      GGGGLLLLIIIIMMMMPPPPSSSSEEEEIIIINNNNDDDDEEEEXXXX((((llll)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((OOOOccccttttoooobbbbeeeerrrr 11111111,,,,    1111999999995555))))  GGGGLLLLIIIIMMMMPPPPSSSSEEEEIIIINNNNDDDDEEEEXXXX((((llll))))
  467.  
  468.  
  469.  
  470.            is not an ASCII file.
  471.  
  472.       ....gggglllliiiimmmmppppsssseeee____mmmmeeeessssssssaaaaggggeeeessss
  473.            contains    the output of the -w option (see above).
  474.  
  475.       ....gggglllliiiimmmmppppsssseeee____ppppaaaarrrrttttiiiittttiiiioooonnnnssss
  476.            contains    the partition of the indexed space into    blocks
  477.            and, when the index is built with the -o    or -b options,
  478.            some part of the    index.    This file is used internally
  479.            by glimpse and it is a non-ASCII    file.
  480.  
  481.       ....gggglllliiiimmmmppppsssseeee____ssssttttaaaattttiiiissssttttiiiiccccssss
  482.            contains    some statistics    about the makeup of the    index.
  483.            Useful for some advanced    applications and customization
  484.            of glimpse.
  485.  
  486.      SSSSTTTTRRRRUUUUCCCCTTTTUUUURRRREEEEDDDD    QQQQUUUUEEEERRRRIIIIEEEESSSS
  487.       Glimpse can search for Boolean combinations of
  488.       "attribute=value" terms by using the Harvest SOIF parser
  489.       library (in glimpse/libtemplate). To search this way,    the
  490.       index    must be    made by    using the -s option of glimpseindex
  491.       (this    can be used in conjunction with    other glimpseindex
  492.       options). For    glimpse    and glimpseindex to recognize
  493.       "structured" files, they must    be in SOIF format. In this
  494.       format, each value is    prefixed by an attribute-name with the
  495.       size of the value (in    bytes) present in "{}" after the name
  496.       of the attribute. For    example, The following lines are part
  497.       of an    SOIF file:
  498.       type{17}:      Directory-Listing
  499.       md5{32}:      3858c73d68616df0ed58a44d306b12ba
  500.       Any string can serve as an attribute name.  Glimpse
  501.       "pattern;type=Directory-Listing" will    search for "pattern"
  502.       only in files    whose type is "Directory-Listing".  The    file
  503.       itself is considered to be one "object" and its name/url
  504.       appears as the first attribute with an "@" prefix; e.g.,
  505.       @FILE    { http://xxx...    } The scope of Boolean operations
  506.       changes from records (lines) to whole    files when structured
  507.       queries are used in glimpse (since individual    query terms
  508.       can look at different    attributes and they may    not be
  509.       "covered" by the record/line).  Note that glimpse can    only
  510.       search for patterns in the value parts of the    SOIF file:
  511.       there    are some attributes (like the TTL, MD5,    etc.) that are
  512.       interpreted by Harvest's internal routines.  See
  513.       http://harvest.cs.colorado.edu/harvest/user-manual/ for more
  514.       detailed information of the SOIF format.
  515.  
  516.      HHHHOOOOWWWW TTTTOOOO DDDDEEEETTTTEEEERRRRMMMMIIIINNNNEEEE TTTTHHHHEEEE IIIINNNNDDDDEEEEXXXX    TTTTYYYYPPPPEEEE
  517.       If you want to determine the type of an existing index,
  518.       check    the first 3 lines of the file ".glimpse_index" (which
  519.       can be obtained by running "head -3 .glimpse_index").     These
  520.       lines    always begin with "%".    If the first line has the
  521.       string "1234567890" after the    "%", it    means that numbers
  522.  
  523.  
  524.  
  525.      Page 8                         (printed 11/3/95)
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.      GGGGLLLLIIIIMMMMPPPPSSSSEEEEIIIINNNNDDDDEEEEXXXX((((llll)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((OOOOccccttttoooobbbbeeeerrrr 11111111,,,,    1111999999995555))))  GGGGLLLLIIIIMMMMPPPPSSSSEEEEIIIINNNNDDDDEEEEXXXX((((llll))))
  533.  
  534.  
  535.  
  536.       were indexed (glimpseindex -n); otherwise, it    means that
  537.       numbers were not indexed.  If    the second line    has a 0    after
  538.       the "%", then    a tiny (default) index was created by
  539.       glimpseindex;    if there is a negative integer after the "%",
  540.       then a medium    sized index was    created    (glimpseindex -b); if
  541.       there    is a positive integer after the    "%", then a small
  542.       index    was created (glimpseindex -o). In the latter two
  543.       cases, the absolute value of the integer tells you the
  544.       number of files that were indexed. On    the third line,    if the
  545.       "-s" option of glimpseindex was used to build    an index for
  546.       structured queries, the positive integer after the "%" tells
  547.       you the number of attributes that were found;    if not,    the
  548.       third    line just contains a "%0".
  549.  
  550.      RRRREEEEFFFFEEEERRRREEEENNNNCCCCEEEESSSS
  551.       1.   U. Manber and S.    Wu, "GLIMPSE: A    Tool to    Search Through
  552.            Entire File Systems," _U_s_e_n_i_x _W_i_n_t_e_r _1_9_9_4    _T_e_c_h_n_i_c_a_l
  553.            _C_o_n_f_e_r_e_n_c_e, San Francisco (January 1994), pp. 23-32.
  554.            Also, Technical Report #TR 93-34, Dept. of Computer
  555.            Science,    University of Arizona, October 1993 (a
  556.            postscript file is available by anonymous ftp at
  557.            cs.arizona.edu:reports/1993/TR93-34.ps).
  558.  
  559.       2.   S. Wu and U. Manber, "Fast Text Searching Allowing
  560.            Errors,"    _C_o_m_m_u_n_i_c_a_t_i_o_n_s _o_f _t_h_e _A_C_M 33335555 (October 1992),
  561.            pp. 83-91.
  562.  
  563.      SSSSEEEEEEEE AAAALLLLSSSSOOOO
  564.       aaaaggggrrrreeeepppp(1), eeeedddd(1), eeeexxxx(1), gggglllliiiimmmmppppsssseeee(1), gggglllliiiimmmmppppsssseeeesssseeeerrrrvvvveeeerrrr(1),
  565.       ggggrrrreeeepppp(1V), sssshhhh(1), ccccsssshhhh(1).
  566.  
  567.      LLLLIIIIMMMMIIIITTTTAAAATTTTIIIIOOOONNNNSSSS
  568.       The index of glimpse is word based.  A pattern that contains
  569.       more than one    word cannot be found in    the index.  The    way
  570.       glimpse overcomes this weakness is by    splitting any multi-
  571.       word pattern into its    set of words and looking for all of
  572.       them in the index.  For example, gggglllliiiimmmmppppsssseeee ''''lllliiiinnnneeeeaaaarrrr
  573.       pppprrrrooooggggrrrraaaammmmmmmmiiiinnnngggg'''' will first consult the index to find all    files
  574.       containing both _l_i_n_e_a_r and _p_r_o_g_r_a_m_m_i_n_g, and then apply agrep
  575.       to find the combined pattern.     This is usually an effective
  576.       solution, but    it can be slow for cases where both words are
  577.       very common, but their combination is    not.
  578.  
  579.       The index of glimpse stores all patterns in lower case.
  580.       When glimpse searches    the index it first converts all
  581.       patterns to lower case, finds    the appropriate    files, and
  582.       then searches    the actual files using the original patterns.
  583.       So, for example, _g_l_i_m_p_s_e _A_B_C_X_Y_Z will first find all files
  584.       containing abcxyz in any combination of lower    and upper
  585.       cases, and then searches these files directly, so only the
  586.       right    cases will be found.  One problem with this approach
  587.       is discovering misspellings that are caused by wrong cases.
  588.  
  589.  
  590.  
  591.      Page 9                         (printed 11/3/95)
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.      GGGGLLLLIIIIMMMMPPPPSSSSEEEEIIIINNNNDDDDEEEEXXXX((((llll)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((OOOOccccttttoooobbbbeeeerrrr 11111111,,,,    1111999999995555))))  GGGGLLLLIIIIMMMMPPPPSSSSEEEEIIIINNNNDDDDEEEEXXXX((((llll))))
  599.  
  600.  
  601.  
  602.       For example, _g_l_i_m_p_s_e -_B _a_b_c_X_Y_Z will first search the index
  603.       for the best match to    abcxyz (because    the pattern is
  604.       converted to lower case); it will find that there are
  605.       matches with no errors, and will go to those files to    search
  606.       them directly, this time with    the original upper cases. If
  607.       the closest match is,    say AbcXYZ, glimpse may    miss it,
  608.       because it doesn't expect an error.  Another problem is
  609.       speed.  If you search    for "ATT", it will look    at the index
  610.       for "att".  Unless you use -w    to match the whole word,
  611.       glimpse may have to search all files containing, for
  612.       example, "Seattle" which has "att" in    it.
  613.  
  614.       There    is no size limit for simple patterns and simple
  615.       patterns with    Boolean    AND.  More complicated patterns    are
  616.       currently limited to approximately 30    characters.  Lines are
  617.       limited to 1024 characters.  Records are limited to 48K, and
  618.       may be truncated if they are larger than that.  The limit of
  619.       record length    can be changed by modifying the    parameter
  620.       Max_record in    agrep.h.
  621.  
  622.       Each line in .glimpse_exclude    or .glimpse_include that
  623.       contains a * or a ? must not exceed 30 characters length.
  624.  
  625.       Glimpseindex does not    index words of size > 64.
  626.  
  627.       A medium-size    index (-b) may lead to actually    slower query
  628.       times    if the files are all very small.
  629.  
  630.       Under    -b, it may be impossible to make the stop list empty.
  631.       Glimpseindex is using    the "sort" routine, and    all
  632.       occurrences of a word    appear at some point on    one line.
  633.       Sort is limiting the size of lines it    can handle (the    value
  634.       depends on the platform; ours    is 16KB).  If the lines    are
  635.       too big, the word is added to    the stop list.
  636.  
  637.      BBBBUUUUGGGGSSSS
  638.       Please send bug reports or comments to
  639.       glimpse@cs.arizona.edu.
  640.  
  641.      AAAAUUUUTTTTHHHHOOOORRRRSSSS
  642.       Udi Manber and Burra Gopal, Department of Computer Science,
  643.       University of    Arizona, and Sun Wu, the National Chung-Cheng
  644.       University, Taiwan. (Email:  glimpse@cs.arizona.edu)
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.      Page 10                         (printed 11/3/95)
  658.  
  659.  
  660.  
  661.